package com.lry.rpc.starter.config;


import com.lry.rpc.starter.annotation.EnableConfigurationBeanBinding;
import com.lry.rpc.starter.annotation.EnableConfigurationBeanBindings;

public class RpcConfigConfiguration {

    public RpcConfigConfiguration() {
    }

    @EnableConfigurationBeanBindings({@EnableConfigurationBeanBinding(
    prefix = "rpc.applications",
    type = ApplicationConfig.class,
    multiple = true
), @EnableConfigurationBeanBinding(
    prefix = "rpc.registries",
    type = RegistryConfig.class,
    multiple = true
), @EnableConfigurationBeanBinding(
    prefix = "rpc.transports",
    type = TransportConfig.class,
    multiple = true
),  @EnableConfigurationBeanBinding(
    prefix = "rpc.providers",
    type = ProviderConfig.class,
    multiple = true
), @EnableConfigurationBeanBinding(
    prefix = "rpc.consumers",
    type = ConsumerConfig.class,
    multiple = true
)})
    public static class Multiple {
        public Multiple() {
        }
    }

    @EnableConfigurationBeanBindings({@EnableConfigurationBeanBinding(
    prefix = "rpc.application",
    type = ApplicationConfig.class
), @EnableConfigurationBeanBinding(
    prefix = "rpc.registry",
    type = RegistryConfig.class
),@EnableConfigurationBeanBinding(
    prefix = "rpc.transport",
    type = TransportConfig.class
), @EnableConfigurationBeanBinding(
    prefix = "rpc.provider",
    type = ProviderConfig.class
), @EnableConfigurationBeanBinding(
    prefix = "rpc.consumer",
    type = ConsumerConfig.class
)})
    public static class Single {
        public Single() {
        }
    }
}
